package com.youlu.campus.entity.domain;

import com.youlu.campus.entity.ActivityInfo;
import com.youlu.campus.entity.AdsInfo;
import lombok.Getter;
import lombok.Setter;
import org.springframework.data.mongodb.core.index.Indexed;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * 用户打卡汇总
 *
 * @author: zhuhuaiqi
 * @date: 2021/02/22 17:22
 */
@Getter
@Setter
public class UserAttendanceSummary implements Serializable {
    /**
     * 活动原始信息
     */
    private ActivityInfo activityInfo;
    /**
     * 活动ID
     */
    private String activityId;
    /**
     * 任务ID
     */
    private String taskId;
    /**
     * 是否打卡,默认为否
     */
    private Boolean signed = Boolean.FALSE;
    /**
     * 是否参与
     */
    private Boolean joined = Boolean.FALSE;
    /**
     * 用户ID
     */
    private String userId;
    /**
     * 用户昵称
     */
    private String userNickName;
    /**
     * 用户头像名称
     */
    private String userHeadUrl;
    @Indexed
    private String dailyAttendanceId;
    /**
     * 累计步数
     */
    private Integer totalStepNum = 0;
    /**
     * 今日步数
     */
    private Integer dayStepNum = 0;
    /**
     * 累计打卡天数
     */
    private Integer totalAttendanceNum = 0;
    /**
     * 连续打卡天数
     */
    private Integer noStopAttendanceNum = 0;
    /**
     * 邀请人数
     */
    private Integer inviteUserNum = 0;
    /**
     * 缺卡次数
     */
    private Integer absentNum = 0;
    /**
     * 姓名
     */
    private String name;
    /**
     * 手机号
     */
    private String mobile;
    /**
     * 邮箱
     */
    private String email;
    /**
     * QQ号
     */
    private String qq;
    /**
     * 微信号
     */
    private String wechat;
    /**
     * 大学名称
     */
    private String universityName;
    /**
     * 省
     */
    private String province;
    /**
     * 市
     */
    private String city;
    /**
     * 地址
     */
    private String address;
    /**
     * 广告区
     */
    private List<AdsInfo> adsInfos = new ArrayList<>();
    /**
     * 当前等级
     */
    private Integer currentGrade = 1;
    /**
     * 总等级
     */
    private Integer totalGrade = 4;
    /**
     * 进度
     */
    private Double rate = 0.0D;
}
